<?php
class System_Model_Resources extends Xend_Db_Model {
	protected $_dbTableName = 'System_Model_Table_Resources';

	public function __construct() {
		parent::__construct();
	}

	/**
	 * liesst alle SystemResouren aus
	 * @param array $where Array mit Bedingungen, die an die Datenbank uebergeben werden
	 * @param array $ref Array mit Tabellen, die verknuepft werden sollen
	 * @param array $options Optionen zur Abfrage
	 * @return array Array mit den Daten, die aus der Datenbank geladen wurden
	 */
	public function findall($where = array(), $ref = array(), $options = array()) {
		$sysResources	= array();
		$ref					= array_flip($ref);
		$select				= $this->_database
			->select()
			->from(
				array('sys_resources'),
        array(
					'sys_resources.id', 'sys_resources.hid', 'sys_resources.name'
				)
			);

		// Where
		// -----------------------------------------------------------------------------------
		if(is_array($where) && !empty($where)) {
			foreach($where as $k => $v) {
				$select->where($k, $v);
			}
		}

		// Options
		// -----------------------------------------------------------------------------------
		if(isset($options['limit'])) {
			$select->limit($options['limit'], 0);
		}

		// Datenauswertung
		// -----------------------------------------------------------------------------------
		foreach($this->fetch($select) as $k => $v) {

			// Resource
			// ---------------------------------------------------------------------------------
			$sysResource	= new System_Model_Schema_Resource();
			$sysResource
				->setId($v['sys_resources']['id'])
				->setHid($v['sys_resources']['hid'])
				->setName($v['sys_resources']['name']);

			$sysResources[(int) $v['sys_resources']['id']] = $sysResource;
		}

		return $sysResources;
	}
}
?>